package boole.port;

import boole.circuit._PortOwner;
import boole.port.exception.PortAlreadyConnectedException;

/**
 * 
 * @author Thomas Nds nds.thomas@gmail.com
 * @author Rémi PIOTAIX <remi.piotaix@gmail.com>
 */
public class PortEntree extends Port implements _PortEntree {

    private _PortSortie portSortie = null;

    @Override
    public _PortSortie getPortSortie() {
        return portSortie;
    }

    public PortEntree(_PortOwner owner) {
        super(owner);
    }

    @Override
    public boolean getValeur() {
        return this.portSortie.getValeur();
    }

    @Override
    public void connect(_PortSortie sortie) {
        if(this.portSortie != null)
            throw new PortAlreadyConnectedException();
        
        this.portSortie = sortie;
    }

    @Override
    public boolean isValid() {
        return portSortie != null;  
        // Si le port de sortie est connecté à une entrée
    }

    
}
